//--------------------------------------------------------------------------
// $Id: Discoverer.java 3 2006-08-20 17:22:44Z zendragon $
//--------------------------------------------------------------------------
// Copyright 2006 Social Brain Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//--------------------------------------------------------------------------

package org.socialbrain.openid.consumer;

/**
 * Discoverer interface.
 *
 * <a href="http://www.openid.net/specs/openid-authentication-2_0-08.html#discovery">Discovery</a>
 *
 * @author <a href="http://erning.net/">Zhang Erning</a>
 * @version $Id: Discoverer.java 3 2006-08-20 17:22:44Z zendragon $
 */
public interface Discoverer
{
    /**
     * Discover using the indentifier url and extracting the necessary
     * information for initiating authentication.
     *
     * @param identifier Identifier URL. This url should be normalized.
     *                   <a href="http://www.openid.net/specs/openid-authentication-2_0-08.html#initiation">Initiation</a>
     * @return Discovered information or null on fail.
     */
    public Discovered discover(String identifier);
}
